There are a number of applications in which a set of values is transformed into a set of weighted sums where each weighted sum is produced by individually multiplying a plurality of the values with a set of weights and summing the individual product values. One such application is in the field of signal processing. Presently, multipliers are used to multiply successive signal values by the set of weights. Multipliers, while operating at ever higher speeds, typically remain the slowest link in the signal processing chain. Binary multiplication is accomplished swiftly in digital processing but not swiftly enough in many environments where data input and sampling rates are extremely high. Further, digital multipliers are power consumptive.
Attempts to diminish the obstacle of multiplier speed are approached from at least three directions. One is the ongoing attempt to build ever faster multipliers. Another is to use fewer multipliers by reducing the number of terms in the weighted sum and thus the number of multipliers required to obtain the weighted sum. Reducing the number of weights, however, significantly decreases the accuracy of the signal processing.
Another attempt limits the number of nonzero digits of each weight value such as by quantizing each weight value to be multiplied: in quantizing, the value is converted into one of a set of discrete values having few nonzero digits. As presently implemented, however, accuracy is greatly diminished by this approach.
A typical area where the problem of multiplier speed arises is in filtering using coefficient multiplication of delayed signal samples. A signal processor takes signals over a time window, that is, a time period, and multiplies these values by weights from a weight function such as might be obtained from a handbook. Reduction in the number of non-zero digits of the multiplier coefficients by conventionally quantizing them loses part of the information required to maintain acceptable filter performance.
Additional problems are presented by the output of the multipliers. Products simultaneously generated by the multipliers must be combined as rapidly as possible by a summer to produce each weighted sum. In high-speed applications the limits of conventional summers are often reached and pose barriers to the construction of ever faster digital filters.